#include <iostream>
#include <iomanip>
#include <string>
#include <cstring>

using namespace std;

// struct Books {
//   string title;
//   string author;
//   char subject[100];
//   int book_id; // int 类型系统初始化为：32573
// };

typedef struct Books {
  string title;
  string author;
  char subject[100];
  int book_id; // int 类型系统初始化为：32573
} Books;       // 这里必须要定义一个类型别名

// void print(struct Books book)
void print(Books book)
{ // 使用 typedef 定义了
  // 结构体的类型别名可以省略掉 struct 关键字
  cout << "书标题 : " << book.title << endl;
  cout << "书作者 : " << book.author << endl;
  cout << "书类目 : " << book.subject << endl;
  cout << "书 ID : " << book.book_id << endl;
}

int	main(int argc, char **argv)
{

  int i; // int 类型系统初始化为：32573
  cout << i << endl;
  Books book;
  print(book);
  Books *book_pointer = &book;
  // 如果通过指针来访问成员变量，需要使用单箭头来访问成员变量
  book_pointer->title = "fuck";

  print(book);
  return 0;
}
